home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / tab100 / carddeck.bas < prev    next >
BASIC Source File  |  1995-09-06  |  5KB  |  182 lines

  1. DefInt A-Z
  2.  
  3. Declare Function CardVersion Lib "VBCards.Dll" () As Integer
  4.  
  5. Declare Sub GetCard Lib "VBCards.dll" (ByVal Card As Integer)
  6. Declare Sub GetCardBack Lib "VBCards.dll" (ByVal Card As Integer)
  7. Declare Sub GetCardMisc Lib "VBCards.dll" (ByVal Card As Integer)
  8. Declare Function SameSuit Lib "VBCards.Dll" (ByVal c1 As Integer, ByVal c2 As Integer) As Integer
  9. Declare Function SuitOf Lib "VBCards.DLL" (ByVal C As Integer) As Integer
  10. Declare Function CardValue Lib "vbCards.dll" (ByVal C As Integer)
  11. Declare Function SameCardValue Lib "VBCards.Dll" (ByVal c1 As Integer, ByVal c2 As Integer) As Integer
  12.  
  13. Sub ComputerDeal ()
  14.  
  15. ' Deal Player & Computer Hands 6 each 1St to Player
  16.  
  17.     Dim Remainder As Integer
  18.  
  19.     For i = 1 To 12
  20.         GetCard (Cards(CardNo))
  21.         Remainder = i Mod 2
  22.         If Remainder <> 0 Then
  23.             Form1.Picture2(i - (i \ 2)).Picture = ClipBoard.GetData(2)
  24.             Form1.Picture2(i - (i \ 2)).Tag = Str$(CardNo)
  25.             Form1.Picture2(i - (i \ 2)).Enabled = True
  26.             Form1.Picture2(i - (i \ 2)).Visible = True
  27.         Else
  28.             Form1.Picture4(i / 2).Picture = ClipBoard.GetData(2)
  29.             Form1.Picture4(i / 2).Tag = Str$(CardNo)
  30. '            Form1.Picture4(i / 2).Enabled = TRUE
  31. '            Form1.Picture4(i / 2).Visible = TRUE
  32.  
  33.         End If
  34.         CardNo = CardNo + 1
  35.     Next i
  36.  
  37.     ComputerNo = 6
  38.     PlayerNo = 6
  39.  
  40.  
  41.     If CardNo > 52 Then
  42.         GetCardMisc (1)
  43.         Form1.Picture3(1).Picture = ClipBoard.GetData(2)
  44.     End If
  45.  
  46. End Sub
  47.  
  48. Sub DealToTable ()
  49.  
  50. '   Deal to Table, Jacks are not dealt to table, but are
  51. '   placed on bottom of deck
  52.  
  53.     For i = 1 To 4
  54.         GetCard (Cards(i + 12))
  55.  
  56.         Do While CardValue(Cards(i + 12)) = 11
  57.             HoldJack = Cards((i + 12))
  58.             ShiftLeft Cards(), ((i + 12) + 1), 52
  59.             Cards(52) = HoldJack
  60.             MsgOk = MsgBox("A Jack has been placed on bottom of the Deck", MBI_INFO)
  61.             GetCard (Cards(i + 12))
  62.         Loop
  63.  
  64.        Form1.Picture1(i).Picture = ClipBoard.GetData(2)
  65.        Form1.Picture1(i).Tag = Str$(i + 12)
  66.        Form1.Picture1(i).Enabled = True
  67.        Form1.Picture1(i).Visible = True
  68.  
  69.     Next i
  70.  
  71.    GetCardBack (2)
  72.    Form1.Picture1(5).Picture = ClipBoard.GetData(2)
  73.    Form1.Picture1(5).Tag = "End"
  74.    Form1.Picture1(i).Enabled = True
  75.    Form1.Picture1(i).Visible = True
  76.  
  77.     
  78. End Sub
  79.  
  80. Sub FirstDeal ()
  81.     
  82. ' Form1.Picture1 is Table, Form1.Picture2 is Player, Form1.Picture3 is Deck
  83. ' and Form1.Picture4 is Computer(not visible)
  84.  
  85. ' Re-seed Random number generator
  86.  
  87.     Randomize
  88.  
  89.     ShuffleCards
  90.  
  91.     Dim HoldJack As Integer
  92.  
  93.     
  94.     
  95.     CardNo = 1
  96.     If DealSwitch = PLAYER_DEAL Then
  97.         PlayerDeal
  98.     Else
  99.         ComputerDeal
  100.     End If
  101.     
  102.  
  103.     
  104.     GetCardMisc (2)
  105.     Form1.Picture3(1).Picture = ClipBoard.GetData(2)
  106.     Form1.Picture3(1).Visible = True
  107.     
  108.     DealToTable
  109.  
  110.     TableNo = 4
  111.     CardNo = 17
  112.     PlayerCardsNo = 0
  113.     ComputerCardsNo = 0
  114.     For i = 1 To 13
  115.         EqualRankGone(i) = 0
  116.     Next i
  117.  
  118.  
  119.     If DealSwitch = PLAYER_DEAL Then
  120.         GameSwitch = COMPUTER_MOVE
  121.         EnableComputerMove
  122.     Else
  123.         GameSwitch = PLAYER_MOVE
  124.         EnablePlayerMove
  125.     End If
  126. End Sub
  127.  
  128. Sub PlayerDeal ()
  129.  
  130. ' Deal Player & Computer Hands 6 Each 1st to Computer
  131.  
  132.     Dim Remainder As Integer
  133.  
  134.     For i = 1 To 12
  135.         GetCard (Cards(CardNo))
  136.         Remainder = i Mod 2
  137.         If Remainder <> 0 Then
  138.             Form1.Picture4(i - (i \ 2)).Picture = ClipBoard.GetData(2)
  139.             Form1.Picture4(i - (i \ 2)).Tag = Str$(CardNo)
  140. '            Form1.Picture4(i - (i \ 2)).Enabled = TRUE
  141. '            Form1.Picture4(i - (i \ 2)).Visible = TRUE
  142.         Else
  143.             Form1.Picture2(i / 2).Picture = ClipBoard.GetData(2)
  144.             Form1.Picture2(i / 2).Tag = Str$(CardNo)
  145.             Form1.Picture2(i / 2).Enabled = True
  146.             Form1.Picture2(i / 2).Visible = True
  147.  
  148.         End If
  149.         CardNo = CardNo + 1
  150.     Next i
  151.  
  152.     ComputerNo = 6
  153.     PlayerNo = 6
  154.  
  155.  
  156.     If CardNo > 52 Then
  157.         GetCardMisc (1)
  158.         Form1.Picture3(1).Picture = ClipBoard.GetData(2)
  159.     End If
  160.  
  161.     
  162.     
  163. End Sub
  164.  
  165. Sub ShuffleCards ()
  166.       
  167.    For i = 1 To 52
  168.       Cards(i) = i
  169.    Next i
  170.  
  171.    For J = 1 To 10
  172.      For i = 1 To 52
  173.         K = Int(52 * Rnd + 1)
  174.         Temp = Cards(i)
  175.         Cards(i) = Cards(K)
  176.         Cards(K) = Temp
  177.      Next i
  178.    Next J
  179.  
  180. End Sub
  181.  
  182.